---
title: Manage legal case lifecycle
summary: Create, update, and retrieve the legal-case header record and drive its status through the case lifecycle.
status: draft
owner: SAIF Case Management team
last_reviewed: 2026-08-21
library: SAIF.Business.Claim.Legal
reference_type: embedded
operation_id: OP-CLL-001
trigger: Presentation caller creates, edits, or saves a legal case
---

# Manage legal case lifecycle

Create, update, and retrieve the legal-case header record and drive its status through the case lifecycle.

| Field | Value |
|---|---|
| **Operation ID** | OP-CLL-001 |
| **Trigger** | Presentation caller creates, edits, or saves a legal case |
| **Inputs** | Business-object criteria properties set by the caller (see linked SQL parameter tables) |
| **Outputs** | Persisted/retrieved `clsLegalCase` state |
| **Primary components** | `clsLegalCase, clsLegalCaseCollection` |
| **Entry point** | `SAIF.Business.Claim.Legal\LegalNet\clsLegalCase.vb, clsLegalCaseCollection.vb` |

## Steps

1. Validate the request against applicable business rules: [BR-CLM-LGL-005](../business-rules.md#br-clm-lgl-005-non-single-row-crud-result-is-treated-as-a-failure)
   - On failure: validation errors are collected and returned to the caller; the operation does not proceed.
2. Execute the underlying data access for `clsLegalCase` against: [DB-CLL-046](../sql/SQL-046-legalcase.md), [DB-CLL-047](../sql/SQL-047-legalcase.md), [DB-CLL-048](../sql/SQL-048-legalcase.md), [DB-CLL-049](../sql/SQL-049-legalcase.md), [DB-CLL-050](../sql/SQL-050-legalcase.md), [DB-CLL-051](../sql/SQL-051-legalcasecollection.md), [DB-CLL-057](../sql/SQL-057-consolidations.md)
   - Tables affected: [LEGAL_CASE](../database-tables.md#legal_case), [CASE_STATUS_HISTORY](../database-tables.md#case_status_history)
3. Return the resulting object graph (or success/failure status) to the caller.

## Process flow

```mermaid
flowchart TD
	Start([Presentation caller creates, edits, or saves a legal case]) --> Validate[Validate business rules]
	Validate --> Decision{Valid?}
	Decision -->|No| EndErr([Return validation errors])
	Decision -->|Yes| Exec[Execute data access for clsLegalCase]
	Exec --> EndOk([Return result])
```

## Failure and edge-case behavior

- Validation failure: the operation returns collected errors without persisting any change.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)

## Sources
- `SAIF.Business.Claim.Legal\` (clsLegalCase, clsLegalCaseCollection)